package cn.fl.riskctrl.xjdb.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.riskctrl.xjdb.vo.XjnpApplyLVO;
import fl.riskctrl.facade.xjdb.dto.XjnpApplyLDTO;

 /**
 * @Description: 信加-个人申请错误记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class XjnpApplyLVOTransform {


	/**
	 * DTO 转  VO
	 * @param po XjnpApplyLDTO
	 * @return XjnpApplyLVO
	 */
	public static XjnpApplyLVO toVO(XjnpApplyLDTO dto) {
		XjnpApplyLVO  vo = null;
		if (dto != null) { 
			vo = new XjnpApplyLVO();
			vo.setId(dto.getId());
			vo.setUsrNm(dto.getUsrNm());//名称
			vo.setCertNo(dto.getCertNo());//证件号码
			vo.setCertTypCd(dto.getCertTypCd());//证件类型(RCT0006)(0-身份证，1-户口本，2-护照，3-军官证，4-士兵证，5-港澳通行证，6-台湾通行证，7-临时身份证，8-外国人居留证，9-警官证，X-其他证件)
			vo.setMp(dto.getMp());//手机号码
			vo.setBkNo(dto.getBkNo());//银行卡号
			vo.setApplyTm(dto.getApplyTm());//申请时间
			vo.setAccountNm(dto.getAccountNm());//登录帐号
			vo.setAccountPwd(dto.getAccountPwd());//登录密码
			vo.setApiUrl(dto.getApiUrl());
			vo.setClientIp(dto.getClientIp());//客户端IP地址
			vo.setResultTyp(dto.getResultTyp());//返回结果类型(RCT0007)(0返回xml，1返回html，2 xml 和 html全部返回)
			vo.setQueryNo(dto.getQueryNo());//报告请求编码(信加流水号)
			vo.setArchiveId(dto.getArchiveId());//档案编号
			vo.setQueryFormat(dto.getQueryFormat());//查询版式(RCT0012)
			vo.setQueryReason(dto.getQueryReason());//查询原因(RCT0011)
			vo.setQueryStrategy(dto.getQueryStrategy());//查询策略(RCT0008)0-本地，1-本地优先，2-征信系统
			vo.setQueryTyp(dto.getQueryTyp());//查询类型(RCT0009) 0-信用报告查询，1-身份信息核查，2-信用报告查询（含数字解读）
			vo.setRemark(dto.getRemark());//备注
			vo.setErrInfo(dto.getErrInfo());//错误内容
			
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setDataFm(dto.getDataFm());
			vo.setDataFmNm(dto.getDataFmNm());
			vo.setCertTypCdNm(dto.getCertTypCdNm());
			vo.setResultTypNm(dto.getResultTypNm());
			vo.setQueryFormatNm(dto.getQueryFormatNm());
			vo.setQueryReasonNm(dto.getQueryReasonNm());
			vo.setQueryStrategyNm(dto.getQueryStrategyNm());
			vo.setQueryTypNm(dto.getQueryTypNm());
			vo.setReportStatusNm(dto.getReportStatusNm());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto XjnpApplyLVO
	 * @return XjnpApplyLDTO
	 */
	public static XjnpApplyLDTO toDTO(XjnpApplyLVO vo) {
		XjnpApplyLDTO dto = null;
		if (vo != null) {
			dto = new XjnpApplyLDTO();
			dto.setId(vo.getId());
			dto.setUsrNm(vo.getUsrNm());//名称
			dto.setCertNo(vo.getCertNo());//证件号码
			dto.setCertTypCd(vo.getCertTypCd());//证件类型(RCT0006)(0-身份证，1-户口本，2-护照，3-军官证，4-士兵证，5-港澳通行证，6-台湾通行证，7-临时身份证，8-外国人居留证，9-警官证，X-其他证件)
			dto.setMp(vo.getMp());//手机号码
			dto.setBkNo(vo.getBkNo());//银行卡号
			dto.setApplyTm(vo.getApplyTm());//申请时间
			dto.setAccountNm(vo.getAccountNm());//登录帐号
			dto.setAccountPwd(vo.getAccountPwd());//登录密码
			dto.setApiUrl(vo.getApiUrl());
			dto.setClientIp(vo.getClientIp());//客户端IP地址
			dto.setResultTyp(vo.getResultTyp());//返回结果类型(RCT0007)(0返回xml，1返回html，2 xml 和 html全部返回)
			dto.setQueryNo(vo.getQueryNo());//报告请求编码(信加流水号)
			dto.setArchiveId(vo.getArchiveId());//档案编号
			dto.setQueryFormat(vo.getQueryFormat());//查询版式(RCT0012)
			dto.setQueryReason(vo.getQueryReason());//查询原因(RCT0011)
			dto.setQueryStrategy(vo.getQueryStrategy());//查询策略(RCT0008)0-本地，1-本地优先，2-征信系统
			dto.setQueryTyp(vo.getQueryTyp());//查询类型(RCT0009) 0-信用报告查询，1-身份信息核查，2-信用报告查询（含数字解读）
			dto.setRemark(vo.getRemark());//备注
			dto.setErrInfo(vo.getErrInfo());//错误内容

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<XjnpApplyLDTO>
	 * @return List<XjnpApplyLVO>
	 */
	public static List<XjnpApplyLVO> toVOList(List<XjnpApplyLDTO> list) {
		List<XjnpApplyLVO>  voList = new ArrayList<XjnpApplyLVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (XjnpApplyLDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<XjnpApplyLVO>
	 * @return List<XjnpApplyLDTO>
	 */
	public static List<XjnpApplyLDTO> toDTOList(List<XjnpApplyLVO> list) {
		List<XjnpApplyLDTO>  dtoList = new ArrayList<XjnpApplyLDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (XjnpApplyLVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
